package com.woniu.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class SwaagerConfig {
	
	@Autowired
	private SwaggerProperties sp;
	
	@Bean
	public Docket createDocekt() {
		Docket docket = new Docket(DocumentationType.SWAGGER_2);
		ApiInfo apiInfo = new ApiInfoBuilder().title(sp.getTitle()).description(sp.getDesc())
				.version(sp.getVersion()).contact(new Contact(sp.getAuth().getName(), sp.getAuth().getUrl(), 
						sp.getAuth().getEmail()))
				.build();
		return docket.apiInfo(apiInfo)
		        .select()
		        .apis(RequestHandlerSelectors.basePackage(sp.getBasePackage()))
		        .paths(PathSelectors.any())
		        .build();
	}

}
